import { resolutionValue } from '../global/interface'
import { PublicMeetingParams, UserEntity } from '../create/interface'

export interface IPersonalTemplate {
	template_id: string
	name: string
	bitrate: number
	/** 会议免打扰 */
	closed_conf: 0 | 1
	/** 会议安全 0-公开会议; 1-隐藏会议;*/
	safe_conf: 0 | 1
	/** 传输加密类型 0-不加密; 2-AES加密; 3-国密(SM4); 4-国密(SM1); */
	encrypted_type: 0 | 2 | 3 | 4
	/** 终端双向认证 */
	encrypted_auth: 0 | 1
	/** 会议类型 0-传统会议; 1-端口会议; 2-SFU纯转发会议;*/
	conf_type: 0 | 1 | 2
	/** 是否允许RTC接入 */
	enable_rtc: 0 | 1
	/** 是否来宾会议室 */
	public_conf: 0 | 1
	/** 是否哑音 */
	mute: 0 | 1
	/** 是否静音 */
	silence: 0 | 1
	/** 视频质量 0-质量优先; 1-速度优先;*/
	video_quality: 0
	/** 归一重整 */
	one_reforming: 0 | 1
	/** 传输加密AES加密密钥 */
	encrypted_key: string
	/** 双流权限 0-发言会场; 1-任意会场; 2-指定会场;*/
	dual_mode: 0 | 1
	/** 是否开启语言激励 */
	voice_activity_detection: 0 | 1
	/** 主流视频分辨率
	 * 1-QCIF; 2-CIF; 3-4CIF; 12-720P; 13-1080P; 14-WCIF; 15-W4CIF; 16-4k;
	 */
	resolution: resolutionValue
	/** 主流帧率 */
	frame: number
	/** 最大与会终端数 */
	max_join_mt: number
	e164: string
	/** 是否允许匿名登录 */
	anonymous_mt: 0 | 1
	/** 会议等级，0—16 数字越大会议等级越高 */
	conf_level: string
	/** 是否超大方 */
	enable_audience: 0 | 1
	/**	会议优选协议 0-H323; 1-SIP; 2-RTC; 255-AUTO; */
	conf_protocol: 0 | 1 | 2 | 255
	/** 账号密级 */
	security_level: number
	/** 会议时长，默认为240，0为永久会议 */
	duration: number
	/** 是否永久会议 */
	permanent_meeting: 0 | 1
	/** 终端数目 */
	mt_num: number
	/** 与会方数目 */
	attending_num: number
	/** 是否禁止终端侧解除哑音 */
	force_mute: 0 | 1
	/** 是否智能级联 */
	smart_cascade_mode: 0 | 1
}
export interface FetchTemplatesData {
	total: number
	personal_templates: IPersonalTemplate[]
}
export interface TemplatesParams {
	order: 0 | 1
	count: number
	start: number
}

export interface FetchTemplateParams extends PublicMeetingParams {
	/** 个人模板id */
	template_id: string
	/**会议等级，0—16 数字越大会议等级越高 */
	conf_level: string
	/**预分配会议号 */
	e164?: string
	/**保留字段，无用 */
	bitrate: number
	/**是否开启预分配会议号，默认为0
    0-关闭;
    1-开启; */
	bind_e164?: 0 | 1
	/**模板编辑获取的全部人员 */
	all_members?: UserEntity[]
}
